/* ************************************************************************
> File Name:     3.c
> Author:        zhfu
> mail:          3346897597@qq.com
> Created Time:  2022年05月09日 星期一 21时58分42秒
> Description:   
 ************************************************************************/
#include<stdlib.h>
#include<unistd.h>
#include<stdio.h>
#define MAXLINE 80

/*
 *在fork之前就把fd[0]关闭，这样父进程和子进程的写端口都关闭了，当进入父进程调用write将会异常终止，echo $? = 141
 */
int main(void)
{
    int n;
    int fd[2];
    pid_t pid;
    char line[MAXLINE];

    if (pipe(fd) < 0){
        perror("pipe");
        exit(1);
    }
    close(fd[0]);

    if ((pid = fork()) < 0){
        perror("fork");
        exit(1);
    }
    
    if (pid > 0){
        //close(fd[0]);
        write(fd[1], "hello world\n", 12);
    }
    /*
    if (pid == 0){
        //close(fd[1]);
        n = read(fd[0], line, MAXLINE);
        printf("%d\n", n);
    }
    */
    return 0;
}
